Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
A toolkit for collections for bsb-native and bsb aimed at bundle size and performance
Rebel is a toolkit for collection APIs that work with both bsb-native
and bsb
.
When you're aiming to write libraries with BuckleScript you're
often made to choose between using convenient APIs that only
work when compiling to JS, like Js.Array
or to include more
bs-platform/lib
code, like Array
or Belt
.
Think of Rebel as a standard library wrapper. It aims to use JS built-ins as often as possible, but falls back to using the BuckleScript standard library on native.
(Its name comes from "Re" as in "Reason" and "bel" as in "belt")
Install the library from npm
:
yarn add bs-rebel
# or for npm
npm install --save bs-rebel
And add bs-rebel
to your bsconfig.json
{
"name": "<your name>",
"version": "0.1.0",
"sources": ["src"],
"bsc-flags": ["-bs-super-errors"],
"bs-dependencies": [
+ "bs-rebel"
]
}
All of Rebel's module are namespaced as Rebel
, so for instance to
access the MutableQueue
module use: Rebel.MutableQueue
MutableQueue
See Belt.MutableQueue for this module's signature.
In JS, this module uses externals to mirror as many functions
from the Belt
module as possible. The only functions that don't
completely compile away (but are rather small) are
reduce
, reduceU
, and transfer
.
It also adds an addMany
function that does compile away, but
isn't part of the standard Belt.MutableQueue
module.
MutableStack
See Belt.MutableStack for this module's signature.
In JS, this module uses externals to mirror as many functions
from the Belt
module as possible. The only functions that don't
completely compile away (but are rather small) are
isEmpty
and top
.
It does not implement dynamicPopIterU
and dynamicPopIter
.
Array
See Rebel_types.re for this module's signature. Unfortunately there are no auto-generated docs yet.
This module slightly diverges from Array
, Js.Array
, and Belt.Array
. It tries to match the implementation
of the JS Array methods as closely as possible. However, there are some in-place modification methods that are
not implemented in Belt.Array
and are thus not included in Rebel.Array
.
Other methods like filter
and removeCount
are present though.
The JS externals that don't compile away completely are:
set
(as opposed to setUnsafe
which compiles away)reverse
(as opposed to reverseInPlace
which compiles away)remove
(as opposed to removeInPlace
which compiles away)removeCount
(as opposed to removeCountInPlace
which compiles away)shuffle
shuffleInPlace
make
set
includes
Some JS-only methods are for completeness' sake still included in Rebel.Array.Js
, but they won't be
available during native compilation!
FAQs
A toolkit for collections for bsb-native and bsb aimed at bundle size and performance
The npm package bs-rebel receives a total of 0 weekly downloads. As such, bs-rebel popularity was classified as not popular.
We found that bs-rebel demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.